Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- Photo taking



  Microsoft wakes up to Open Source … in a big way!

Contrary to popular belief, Microsoft loves open-source. No, really! Don’t believe me? Read on: Today, Microsoft announced that it is open-sourcing all of its flagship web/cloud platform: ASP.NET MVC Web Pages (aka Razor), Web API. Importantly … these projects will be publicly hosted and that the team will continue development in the open (you’ll be able to view the repository and see the code commits as they happen) and that Microsoft will even cons...

   Oepn source,Microsoft,Ruby     2012-04-01 04:23:42

  Programming language choices for an IT manager

A TechRepublic reader named Aaron emailed me and posed excellent questions; here’s an excerpt from his email:“I manage a small IT department and all my skills are self-taught. At times I struggle with complex business initiatives and I believe if I had some programming skills I would be more adept at handling the initiatives. Can you recommend a programming language? Is formal education the best path or have you found that programming can be self-taught?”I’m sure a lot ...

   IT Manager,Programming,Skills,Programming knowledge     2011-10-21 08:37:10

  What matters in life (and what doesn’t)

I’m probably too young to be writing on this topic but observing countless souls distressed by daily life made me think hard on what is that really matters in life. Undoubtedly, there are happy and sad phases and that’s part-and-parcel of life. But what I’m really bothered about is general, daily bitching about how miserable one’s life has become. You find people complaining about work, commute, relationships, other people’s attitudes & personalit...

   Life,Matater,Relationship,Experience,Material possession,Ego     2011-10-24 11:57:27

  Software philosophy: Release early, release often vs polished releases

Release early, release often is a philosophy where you release the product as soon as possible and rapidly iterate it to perfection by listening to your customers. A polished release, on the other hand is where your product, in its initial version is solid, lacks obvious bugs and has just enough features to satisfy a majority of your consumers. Most software companies adopt either one of this and that choice is not superficial. In fact, it roots down to the heart of the company’s i...

   Design philosophy,Release early,Release often,Polished relaese     2011-11-28 09:22:17

  Learn from Haskell - Functional, Reusable JavaScript

Learn You a Haskell: For Great Good? For the last couple months I have been learning Haskell. Because there are so many unfamiliar concepts, it feels like learning to program all over again. At i.TV, we write a lot of JavaScript (node.js and front end). While many functional/haskell paradigms don’t translate, there are a few techniques that JS can benefit from. There are Haskell library functions for everything. At first I thought this was just because it was mature, but then I notice...

   JavaScript,Haskell,Functional,Reusability,Feature     2012-02-21 05:30:51

  The business of software

Inspired by a talk I gave yesterday at the BOS conference. This is long, feel free to skip!My first real job was leading a team that created five massive computer games for the Commodore 64. The games were so big they needed four floppy disks each, and the project was so complex (and the hardware systems so sketchy) that on more than one occasion, smoke started coming out of the drives.Success was a product that didn't crash, start a fire or lead to a nervous breakdown.Writing software...

   Software,Design,Business,Software design     2011-10-29 07:22:09

  Optimization Tricks used by the Lockless Memory Allocator

With the releasing of the Lockless Memory Allocator under the GPL version 3.0 license, we can now discuss more of the optimization tricks used inside it. Many of these are things you wouldn't want to use in normal code. However, when speed is the ultimate goal, sometimes we need to break a few rules and use code that is a little sneaky.The SlabA slab is a well-known technique for allocating fixed size objects. For a given object size, a chunk of memory is divided up into smaller regions of that ...

   Optimization,Memory allocation     2011-11-16 08:02:16

  Create an adaptable website layout with CSS3 media queries

With the rise of both very large screens and mobile devices, web developers have to be able to create websites that display correctly and look good whatever the device is. Sure, you can use good old techniques like fluid layouts, but I’ve got something better to show you today. This tutorial will teach you how you can create an adaptable website layout using CSS3.Getting startedView demo (Horizontally resize your browser to view it in action)Download filesCreating the default layoutT...

   CSS3,Media,Mobile device,Resize,PC,@medi     2011-09-20 12:38:27

  First steps with Scala, say goodbye to bash scripts…

Those who know me are aware that I’ve been following play framework, and actively taking part of it’s community, for a couple of years. Playframework 2.0 is right around the corner, and it’s core is programmed in Scala, so it’s a wonderful opportunity to give this object-oriented / functional hybrid beast a try… Like many others, I will pick a very simple script to give my first steps… Finding an excuse to give Scala a try With a couple of friends we are ...

   Scala,Functional programming,Bash script,Replacement     2012-01-12 06:45:16

  Strangest line of python you have ever seen

The other day @HairyFotr and @zidarsk8 were doing some codegolfing with implementations of nondeterministic finite state machineand asked me to blog their results.For those of us who often forget what all of this computer science mumbo jumbo means, here’s a quick explanation from wikipedia:In the theory of computation, a nondeterministic finite state machine or nondeterministic finite automaton (NFA) is a finite state machin...

   Python,Strange,Research,Work rationale     2011-11-19 02:05:03